#define  _CRT_SECURE_NO_WARNINGS 1

#include "string.h"

void TestString1()
{
	zzh::string s1;
	zzh::string s2("hello world");

	cout << s1 << endl;
	cout << s2 << endl;

	for (int i = 0; i < s2.size(); ++i)
	{
		cout << s2[i] << " ";
	}
	cout << endl;

	zzh::string::iterator it = s2.begin();
	while (it != s2.end())
	{
		*it += 1;
		cout << *it << " ";

		++it;
	}
	cout << endl;
	cout << s2 << endl;

	for (auto ch : s2)
	{
		ch -= 1;
		cout << ch << " ";
	}
	cout << endl;
	cout << s2 << endl;

	for (auto& ch : s2)
	{
		ch -= 1;
		cout << ch << " ";
	}
	cout << endl;
	cout << s2 << endl;
}

void TestString2()
{
	zzh::string s1("hello");
	s1 += ' ';
	s1 += "world";
	cout << s1 << endl;

	s1.insert(0, 'p');
	cout << s1 << endl;

	s1.insert(s1.size(), 'p');
	cout << s1 << endl;

	s1.insert(6, "65435468");
	cout << s1 << endl;

	s1.insert(0, "65435468");
	cout << s1 << endl;

	s1.erase(10, 800);
	cout << s1 << endl;

}

void TestString3()
{
	zzh::string s1("test.cpp.zip");
	zzh::string s2(s1);
	cout << s2 << endl;

	size_t pos = s1.find('.');
	zzh::string suffix = s1.substr(pos);
	cout << suffix << endl;
}

void TestString4()
{
	zzh::string s;
	cin >> s;
	cout << s;
}

int main()
{
	TestString4();

	return 0;
}